home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / sys / xattr.h < prev   
C/C++ Source or Header  |  2009-10-07  |  4KB  |  105 lines

  1. /* Copyright (C) 2002 Free Software Foundation, Inc.
  2.    This file is part of the GNU C Library.
  3.  
  4.    The GNU C Library is free software; you can redistribute it and/or
  5.    modify it under the terms of the GNU Lesser General Public
  6.    License as published by the Free Software Foundation; either
  7.    version 2.1 of the License, or (at your option) any later version.
  8.  
  9.    The GNU C Library is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.    Lesser General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU Lesser General Public
  15.    License along with the GNU C Library; if not, write to the Free
  16.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17.    02111-1307 USA.  */
  18.  
  19. #ifndef _SYS_XATTR_H
  20. #define _SYS_XATTR_H    1
  21.  
  22. #include <features.h>
  23. #include <sys/types.h>
  24.  
  25.  
  26. __BEGIN_DECLS
  27.  
  28. /* The following constants should be used for the fifth parameter of
  29.    `*setxattr'.  */
  30. enum
  31. {
  32.   XATTR_CREATE = 1,    /* set value, fail if attr already exists.  */
  33. #define XATTR_CREATE    XATTR_CREATE
  34.   XATTR_REPLACE = 2    /* set value, fail if attr does not exist.  */
  35. #define XATTR_REPLACE    XATTR_REPLACE
  36. };
  37.  
  38. /* Set the attribute NAME of the file pointed to by PATH to VALUE (which
  39.    is SIZE bytes long).  Return 0 on success, -1 for errors.  */
  40. extern int setxattr (__const char *__path, __const char *__name,
  41.              __const void *__value, size_t __size, int __flags)
  42.     __THROW;
  43.  
  44. /* Set the attribute NAME of the file pointed to by PATH to VALUE (which is
  45.    SIZE bytes long), not following symlinks for the last pathname component.
  46.    Return 0 on success, -1 for errors.  */
  47. extern int lsetxattr (__const char *__path, __const char *__name,
  48.               __const void *__value, size_t __size, int __flags)
  49.     __THROW;
  50.  
  51. /* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE
  52.    bytes long).  Return 0 on success, -1 for errors.  */
  53. extern int fsetxattr (int __fd, __const char *__name, __const void *__value,
  54.               size_t __size, int __flags) __THROW;
  55.  
  56. /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
  57.    SIZE bytes long).  Return 0 on success, -1 for errors.  */
  58. extern ssize_t getxattr (__const char *__path, __const char *__name,
  59.              void *__value, size_t __size) __THROW;
  60.  
  61. /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
  62.    SIZE bytes long), not following symlinks for the last pathname component.
  63.    Return 0 on success, -1 for errors.  */
  64. extern ssize_t lgetxattr (__const char *__path, __const char *__name,
  65.               void *__value, size_t __size) __THROW;
  66.  
  67. /* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE
  68.    bytes long).  Return 0 on success, -1 for errors.  */
  69. extern ssize_t fgetxattr (int __fd, __const char *__name, void *__value,
  70.               size_t __size) __THROW;
  71.  
  72. /* List attributes of the file pointed to by PATH into the user-supplied
  73.    buffer LIST (which is SIZE bytes big).  Return 0 on success, -1 for
  74.    errors.  */
  75. extern ssize_t listxattr (__const char *__path, char *__list, size_t __size)
  76.     __THROW;
  77.  
  78. /* List attributes of the file pointed to by PATH into the user-supplied
  79.    buffer LIST (which is SIZE bytes big), not following symlinks for the
  80.    last pathname component.  Return 0 on success, -1 for errors.  */
  81. extern ssize_t llistxattr (__const char *__path, char *__list, size_t __size)
  82.     __THROW;
  83.  
  84. /* List attributes of the file descriptor FD into the user-supplied buffer
  85.    LIST (which is SIZE bytes big).  Return 0 on success, -1 for errors.  */
  86. extern ssize_t flistxattr (int __fd, char *__list, size_t __size)
  87.     __THROW;
  88.  
  89. /* Remove the attribute NAME from the file pointed to by PATH.  Return 0
  90.    on success, -1 for errors.  */
  91. extern int removexattr (__const char *__path, __const char *__name) __THROW;
  92.  
  93. /* Remove the attribute NAME from the file pointed to by PATH, not
  94.    following symlinks for the last pathname component.  Return 0 on
  95.    success, -1 for errors.  */
  96. extern int lremovexattr (__const char *__path, __const char *__name) __THROW;
  97.  
  98. /* Remove the attribute NAME from the file descriptor FD.  Return 0 on
  99.    success, -1 for errors.  */
  100. extern int fremovexattr (int __fd, __const char *__name) __THROW;
  101.  
  102. __END_DECLS
  103.  
  104. #endif    /* sys/xattr.h  */
  105.